package com.vviton.zyhj.common.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.vviton.zyhj.common.entity.TYyxtO2oYjfkxx;
import com.vviton.zyhj.common.utils.page.Page;
import com.vviton.zyhj.common.view.ParamYjfkxx;
import com.vviton.zyhj.common.view.ViewYjfkxx;

/**
 *
 * ClassName: TYyxtO2oYjfkxxMapper <br/>
 * Function: 意见反馈<br/>
 * Date: 2016年11月28日 下午4:41:22 <br/>
 *
 * @author libo
 * @version 1.0
 * @since JDK 1.7
 */
public interface TYyxtO2oYjfkxxMapper {

    /**
     *
     * selectFkxxList,(分页查询意见反馈信息列表). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月28日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月28日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param page 分页参数
     * @return List<TYyxtO2oYjfkxx> 分页数据
     * @since JDK 1.7
     */
    List<TYyxtO2oYjfkxx> selectFkxxListByPage(@Param("page") Page page);

    /**
     *
     * countFkxxListTotal,(统计意见反馈信息记录条数). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月28日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月28日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param page 分页参数
     * @return Integer
     * @since JDK 1.7
     */
    Integer countFkxxListTotal(@Param("page") Page page);

    /**
     *
     * getFkxxIds,(获取所有意见反馈记录的id). <br/>
     * Author: libo <br/>
     * Create Date: 2016年12月2日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年12月2日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param yjfkxx 意见反馈参数对象
     * @return List<ViewYjfkxx>
     * @since JDK 1.7
     */
    List<ViewYjfkxx> getFkxxIds(@Param("yjfkxx") ParamYjfkxx yjfkxx);

    /**
     *
     * getFkxxListByIds,(根据ids获取导出列表数据). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月28日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月28日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param ids 所有选中id
     * @return List<ViewYjfkxx> 导出数据列表
     * @since JDK 1.7
     */
    List<ViewYjfkxx> getFkxxListByIds(@Param("ids") String[] ids);

    /**
     *
     * getFkxxListById,(根据id查看意见反馈记录). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月28日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月28日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param id 反馈记录ID
     * @return TYyxtO2oYjfkxx 意见反馈信息对象
     * @since JDK 1.7
     */
    TYyxtO2oYjfkxx getYjfkxxById(@Param("id") String id);

    /**
     *
     * insertYjfkxx,(新增意见反馈记录). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月28日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月28日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param record 意见反馈对象
     * @return int
     * @since JDK 1.7
     */
    int insertYjfkxx(TYyxtO2oYjfkxx record);

    /**
     *
     * updateYjfkxx,(回复处理意见反馈信息). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月28日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月28日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param record 意见反馈对象
     * @return int
     * @since JDK 1.7
     */
    int updateYjfkxx(TYyxtO2oYjfkxx record);

    /**
     *
     * deleteYjfkxx,(删除意见反馈记录). <br/>
     * Author: libo <br/>
     * Create Date: 2016年11月28日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年11月28日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param record 意见反馈对象
     * @return int
     * @since JDK 1.7
     */
    int deleteYjfkxx(TYyxtO2oYjfkxx record);

    /**
     *
     * getYjfkxxByZh,(根据用户账号获取此用户的意见反馈列表数据). <br/>
     * Author: libo <br/>
     * Create Date: 2016年12月20日 <br/>
     * ===============================================================<br/>
     * Modifier: libo <br/>
     * Modify Date: 2016年12月20日 <br/>
     * Modify Description: <br/>
     * ===============================================================<br/>
     *
     * @param tcrzh 提出人账号
     * @param fkrzh 反馈人账号
     * @return List<ViewYjfkxx>
     * @since JDK 1.7
     */
    List<ViewYjfkxx> getYjfkxxByZh(@Param("tcrzh") String tcrzh, @Param("fkrzh") String fkrzh, @Param("ywy") String ywy);

}